﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DAL;
using BLL;

namespace PhongMachTu.GUI
{
    public partial class DSkhambenh : Form
    {
        public DSkhambenh()
        {
            InitializeComponent();
            dtHomNay.Value = DateTime.Now;
        }
        KhambenhBLL bllKB = new KhambenhBLL();
        int thamSoID = 1;
        private void DSkhambenh_Load(object sender, EventArgs e)
        {
            try
            {
                dgvDSBenhNhan.DataSource = bllKB.LayDSKhamBenh(DateTime.Parse(dtHomNay.Value.ToShortDateString()));
                if (bllThamSo.LayDSThamSo().Count > 0)
                {
                    foreach (var item in bllThamSo.LayDSThamSo())
                    {
                        thamSoID = item.ThamSoID;
                    }

                }
                soBenhNhanToiDa = bllThamSo.soBenhNhanToiDa();

                SoNguoi = dgvDSBenhNhan.Rows.Count;

                label3.Text = "Số Bệnh Nhân Còn Lại : " + (soBenhNhanToiDa - SoNguoi).ToString();
            }
            catch 
            {
                
           
            }
       
        }
        int SoNguoi;
        int soBenhNhanToiDa;
        ThamSoBLL bllThamSo = new ThamSoBLL();
        private void btnThemBN_Click(object sender, EventArgs e)
        {



        }

        private void btnTraCuu_Click(object sender, EventArgs e)
        {
            dgvDSBenhNhan.DataSource = bllKB.timKiemDS(txtInputTimKiem.Text);
        }
        string strMaKhamBenh = null;
        string strMaBenhNhan = null;


        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                txtTenBN.Text = dgvDSBenhNhan.Rows[e.RowIndex].Cells["HoTen"].Value.ToString();
                txtDiaChi.Text = dgvDSBenhNhan.Rows[e.RowIndex].Cells["DiaChi"].Value.ToString();
                dtNgaySinh.Value = DateTime.Parse(dgvDSBenhNhan.Rows[e.RowIndex].Cells["NgaySinh"].Value.ToString());
                string gt = dgvDSBenhNhan.Rows[e.RowIndex].Cells["GioiTinh"].Value.ToString();
                if (gt=="Nam")
                {
                    rbtNam.Checked = true;

                }
                else
                { rbtNu.Checked = true; }

                strMaBenhNhan = dgvDSBenhNhan.Rows[e.RowIndex].Cells["MaBenhNhan"].Value.ToString();
                strMaKhamBenh = dgvDSBenhNhan.Rows[e.RowIndex].Cells["MaKhamBenh"].Value.ToString();
            }
            catch 
            {
                
        
            }
          

        }

        private void dtHomNay_ValueChanged(object sender, EventArgs e)
        {
            DSkhambenh_Load(sender, e);
        }

        private void btnLapPhieu_Click(object sender, EventArgs e)
        {
            if (strMaKhamBenh == null && strMaBenhNhan == null)
            {
                MsgBox.Error("Mời bạn chọn bệnh nhân !");
                return;
            }
        }

        private void btnLapHoaDon_Click(object sender, EventArgs e)
        {
            if (strMaKhamBenh == null && strMaBenhNhan == null)
            {
                MsgBox.Error("Mời bạn chọn bệnh nhân !");
                return;
            }
        }

        private void btnThemBN_Click_1(object sender, EventArgs e)
        {

            if (SoNguoi <= soBenhNhanToiDa)
            {
                if ( MsgBox.checkNull(txtTenBN))
                {
                    return;
                }
                if (MsgBox.checkNull(txtDiaChi))
                {
                    return;
                }

                BENHNHAN bn = new BENHNHAN();
                bn.HoTen = txtTenBN.Text;
                bn.NgaySinh = dtNgaySinh.Value;
                bn.DiaChi = txtDiaChi.Text;
                bn.GioiTinh = rbtNam.Checked ? true : false;
                BenhNhanBLL bllBN = new BenhNhanBLL();
                bllBN.ThemBenhNhan(bn);
                KHAMBENH kb = new KHAMBENH();
                kb.MaBenhNhan = bllBN.getID();
                kb.NgayKham = dtHomNay.Value;
                bllKB.ThemKhamBenh(kb);
                DSkhambenh_Load(sender, e);

            }
            else
            {
                MessageBox.Show("Quá 40 người không thể thêm!");


            }
        }

        private void btnTraCuu_Click_1(object sender, EventArgs e)
        {

        }

        private void btnXoaBN_Click(object sender, EventArgs e)
        {
            if (bllKB.xoaKhamBenh(int.Parse(strMaKhamBenh)))
            {
                MsgBox.Success("Xoá thành công bệnh nhân ra khỏi danh sách !");
                DSkhambenh_Load(sender, e);
            }
            else
            {
                MsgBox.Error("Xoá không thành công xảy ra lỗi !");
            }
        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }


    }
}
